# !/usr/bin/python
# -*- coding: utf-8 -*-
"""
@文件    :   Students_sum_average.py
@时间    :   2022/05/26 14:19:43
@作者    :   YTNetMan
@版本    :   1.0
@邮箱    :   ytnetman@163.com
@版权    :   (C)Copyright 2022-2025
@分类    :   办公自动化
@功能    :   求总分和平均分，追加行列
            sum(axis=1) 按行求和
            mean(axis=1)按行求平均数
            append(col_mean,ignore_index=True) 追加一行，参数必须要有
"""

import pandas as pd

students = pd.read_excel('./doc/Students_sum_average.xlsx', index_col='ID')
#取数据
temp = students[['Test_1','Test_2','Test_3']]
#计算，默认是0，从上到下，把轴改成1，从行计算
row_sum = temp.sum(axis=1)
#注意pandas中的求平均数不是用average，而是用的mean（）
row_mean = temp.mean(axis=1)
#给新列命名
students['Total'] = row_sum
students['Average'] = row_mean
#求最下面的总分的平均值
col_mean = students[['Test_1','Test_2','Test_3','Total','Average']].mean()
#给新行命名
col_mean['Name'] = 'Summary'
#添加新行 ignore_index:如果为True，则重新进行自然索引
#append是新建dataframe，如果想查看结果，需带上新对象实例
students = students.append(col_mean,ignore_index=True)
print(students)
